package org.giovanolli.mumi.entities;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

/**
 * The Class BillDetail.
 */
@Entity
@Table(name = "bill_detail")
public class BillDetail extends IdentificableEntity {

	/** The Constant serialVersionUID. */
	private static final long serialVersionUID = 3843745191828472846L;

	/** The attention type. */
	@ManyToOne
	@JoinColumn(name = "specialist_fee_id")
	private SpecialistFee specialistFee;

	/** The bill. */
	@ManyToOne
	@JoinColumn(name = "bill_id")
	private Bill bill;

	/** The quantity. */
	@Column(name = "quantity")
	private Integer quantity;

	/** The amount. */
	@Column(name = "amount")
	private Double amount;

	/** The month. */
	@Column(name = "month")
	private Integer paidMonth;

	/** The year. */
	@Column(name = "year")
	private Integer paidYear;

	/**
	 * Gets the amount.
	 * 
	 * @return the amount
	 */
	public Double getAmount() {
		return amount;
	}

	/**
	 * Gets the bill.
	 * 
	 * @return the bill
	 */
	public Bill getBill() {
		return bill;
	}

	/**
	 * Gets the paid month.
	 * 
	 * @return the paid month
	 */
	public Integer getPaidMonth() {
		return paidMonth;
	}

	/**
	 * Gets the paid year.
	 * 
	 * @return the paid year
	 */
	public Integer getPaidYear() {
		return paidYear;
	}

	/**
	 * Gets the quantity.
	 * 
	 * @return the quantity
	 */
	public Integer getQuantity() {
		return quantity;
	}

	/**
	 * Gets the specialist fee.
	 * 
	 * @return the specialist fee
	 */
	public SpecialistFee getSpecialistFee() {
		return specialistFee;
	}

	/**
	 * Sets the amount.
	 * 
	 * @param amount
	 *            the new amount
	 */
	public void setAmount(Double amount) {
		this.amount = amount;
	}

	/**
	 * Sets the bill.
	 * 
	 * @param bill
	 *            the new bill
	 */
	public void setBill(Bill bill) {
		this.bill = bill;
	}

	/**
	 * Sets the paid month.
	 * 
	 * @param paidMonth
	 *            the new paid month
	 */
	public void setPaidMonth(Integer paidMonth) {
		this.paidMonth = paidMonth;
	}

	/**
	 * Sets the paid year.
	 * 
	 * @param paidYear
	 *            the new paid year
	 */
	public void setPaidYear(Integer paidYear) {
		this.paidYear = paidYear;
	}

	/**
	 * Sets the quantity.
	 * 
	 * @param quantity
	 *            the new quantity
	 */
	public void setQuantity(Integer quantity) {
		this.quantity = quantity;
	}

	/**
	 * Sets the specialist fee.
	 * 
	 * @param specialistFee
	 *            the new specialist fee
	 */
	public void setSpecialistFee(SpecialistFee specialistFee) {
		this.specialistFee = specialistFee;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see org.giovanolli.mumi.entities.IdentificableEntity#toString()
	 */
	@Override
	public String toString() {
		return "BillDetail []";
	}

}
